/*
 *  worker.h
 *  phaseit3d
 *
 *  Created by Anton Barty on 27/07/11.
 *  Copyright 2011 Anton Barty. All rights reserved.
 *
 */

void updateSupport(cFFTWdata*, cSettings*, float, float);
void phaseit(cData3d*, cData3d*, cData3d*, cSettings*);

class Worker{
	public:
		Worker(cData3d *diffractionVolume, cData3d *supportVolume, cData3d *guessVolume, cSettings *settings);
		void phaseIt();
	protected:
		cData3d* _diffractionVolume;
		cData3d* _supportVolume;
		cData3d* _guessVolume;
		cSettings* _settings;

		void detectMissingData(char*);
		void detectSupport(char*);
		cFFTWdata createModelWithRandomPhases(char*);
};
